<?php

/*
 * CONTROLE FINANÇAS PESSOAIS
 *
 * Controle dos lançamentos de contas
 *
 *	Histórico:
 *	- v.15/05/2012 - Edgard Fantini Júnior -efantinij@gmail.com
 *		- versão inicial gerada pelo gerarAplicacao.sh
 *
 * FRAMWORK: edframe - Copyleft (cc) 2012 EDMAR Sistemas
 *
*/

$paginaSolicitada = 'Compras';
$carregJs = "calendario" ;
$segura = 'USC.CO.08.00' ;
$descricao = 'GESTÃO DE OPERA&Ccedil;&Otilde;ES';


/*
 * Funcao buscaStr()
 * executa uma busca na base de dados
 */
function buscaStr($camPesq, $texto, $tipo)
{
	try
	{
		TTransaction::open($_SESSION['infoCon']);
		TTransaction::setLogger(new TLoggerTXT('/tmp/opera_buscaStr.txt'));

TTransaction::log($camPesq."\n".$texto."\n". $tipo);


			$a = new opera ;
			if ($tipo == 'STR')
				$a->$camPesq = stringBusca($texto)."#similar#STR" ;
			else
				$a->$camPesq = $texto ;
			$a->colunas = "op, datcompr, usuario, titulo, mesref, historico, parcerest, tipo, valor, ativo" ;
			$a->order = $camPesq ;
			$_Busca = $a->opera ;

			if (empty($_Busca))
				throw new Exception("opera n&atilde;o encontrado(a).") ;

		$a = new Vopera ;
		$a->sele = $_Busca ;

		if (count($_Busca) == 1)
			$a->edit ;
		else
			$a->selec ;

		TTransaction::close() ;
	}
	catch (Exception $e)
	{
		$_var = MformTryCache::objReturn($e) ;
		TTransaction::rollback() ;
		return $_var;
	}
	return $a->form ;
}


/*

	function buscaStr($camPesq,$texto)
	{
		try
		{
			TTransaction::open($_SESSION['infoCon']);
			TTransaction::setLogger(new TLoggerTXT('/tmp/coperacoes_buscaReqStr.txt'));

			$a = new opera ;
			$a->$camPesq = stringParaBusca($texto)."#REGEXP" ;
			$a->colunas = "op,conta,usuario,formapag,historico,parcerest,pagames,vencimen,valor,ativo,data,user" ;
			$a->order = "{$camPesq}" ;
			$_Opera = $a->opera ;

			if (empty($_Opera))
				throw new Exception("Opera&ccedil;&atilde;o n&atilde;o encontrad(a).") ;

			$a = new Voperacoes ;
			$a->Voperacoes = $_Operacoes ;
			$a->selecOperacoes ;

			TTransaction::close() ;
		}
		catch (Exception $e)
		{
			$_var = MformTryCache::objReturn($e) ;
			TTransaction::rollback() ;
			return $_var;
		}
		return $a->form ;
	}
*/


function buscaId($id)
{
	try
	{
		TTransaction::open($_SESSION['infoCon']);
		TTransaction::setLogger(new TLoggerTXT('/tmp/ffffffbuscaReqId.txt'));

		if ($id >=1)
		{
			$oper = new opera ;
			$oper->op = $id ;
			$oper->colunas = 'op, datcompr, titulo, historico, parcerest, mesref, valor, ativo, tipo' ;
			$_Opera = $oper->opera ;

			if (empty($_Opera))
				throw new Exception("Opera&ccedil;&atilde;o n&atilde;o encontrada.") ;
		}

		$voper = new Vopera ;
		TTransaction::log('indo para vopra');
		$voper->sel = $_Opera ;
		$voper->edit ;
		TTransaction::close() ;
	}
	catch (Exception $e)
	{
		$_var = MformTryCache::objReturn($e) ;
		TTransaction::rollback() ;
		return $_var;
	}
	return $voper->form ;
}


/**
 *	Descrição:
 *		-	 Atualiza os atributos de coperacoes
 *
 *	Entradas:
 * 		-
 *
 *	Saídas:
 *		-	$_var[0]:	flag de erro ou sucesso;
 *
 *	Desenvolvedor :
 * 		- Edgard Fantini Júnior - efantinij@gmail.com
 *
 *	Histórico:
 *	- v.15/05/2012 - Edgard Fantini Júnior -efantinij@gmail.com
 *		- versão inicial gerada pelo gerarAplicacao.sh
 *
**/
function alterarIncluir($textoGrava, $textoGravaIncluir, $mesRef , $repetir, $situacaoGlobal)
{
	try
	{
		TTransaction::open($_SESSION['infoCon']);
		TTransaction::setLogger(new TLoggerTXT('/tmp/sfuncao_alterar.txt'));

		TTransaction::log('linha 117  de financas. textoGrava  = '.$textoGrava);

		$a = new opera ;
		if ($textoGrava)
		{
			$campos = explode("#",$textoGrava) ;
			TTransaction::log('linha 115  de opera. count texto grava =  '.count($campos));
			for ($j = 0 ; $j < count($campos) ; $j++)
			{
				$nv = explode("|",$campos[$j]) ;
				$a->$nv[0] = $nv[1] ;
			}

			$a->ativo = $situacaoGlobal ;
			$a->alterarIncluir ;

			if ($a->resp[0] == 'erro')
				throw new Exception($a->resp[1]) ;
		}

		TTransaction::log('linha 117  de financas. textoGravaIncluir  = '.$textoGravaIncluir);

		if ($textoGravaIncluir != '')
		{ //datcompr|09/01/2013#historico|Angela#mesref|01/2013#valor|5.55#loja|2
			if (($repetir == 0) or ($repetir == ''))
				$repetir = 1 ;
			for ($i = 0 ; $i < $repetir ; $i++)
			{
				TTransaction::log('linha 133  de compras. $repetir  = '.$repetir);
				$a = new opera ;

				$campos = explode("#",$textoGravaIncluir) ;
				for($j = 0 ; $j < count($campos) ; $j++)
				{
					$nv = explode("|",$campos[$j]) ;
					if ($nv[0] == 'mesref')
					{
						$mes = new mesref ;
						$mes->nome = $nv[1] ;
						$mes->ativo = "A" ;
						$mes->colunas = "mref" ;
						$_MES = $mes->mesref ;
						if (empty($_MES))
							throw new Exception("mes de refer&ecirc;ncia n&atilde;o encontrado.") ;
						$nv[1] = $_MES[0]->mref +$i;
						$nv[0] = "mesref" ;
					}
					if ($nv[0] == 'valor')
						$nv[1] = $nv[1] / $repetir;

					$a->$nv[0] = $nv[1] ;
				}
				$a->parcerest = ($i+1)."/".$repetir ;
				$a->usuario = $_SESSION['userId'] ;
				$a->alterarIncluir ;
				if ($a->resp[0] == 'erro')
					throw new Exception($a->resp[1]) ;
			}
		}

			TTransaction::close() ;
		}
		catch (Exception $e)
		{
			$_var = MformTryCache::objReturn($e) ;
			TTransaction::rollback() ;
			return $_var ;
		}
		return $a->resp ;
	}

$sajax_request_type = "POST" ;
sajax_init();
sajax_export("buscaStr","buscaId","alterarIncluir");
sajax_handle_client_request();

try
{
	TTransaction::open($_SESSION['infoCon']);
	TTransaction::setLogger(new TLoggerTXT('/tmp/coperacoes_principal.txt'));

	if ($_POST['audi'] > 0 )
		$audi = $_POST['audi'] ;

	else
	{
		$a = new Vopera ;
		$a->busca ;
		$caixaGeral  = $a->form[0] ;
		$caixaBotoes = $a->form[2] ;
	}
	TTransaction::close() ;
}
catch (Exception $e)
{
	$_var = MformTryCache::objReturn($e) ;
	TTransaction::rollback() ;
	return $_var ;
}
